// Demo:   demo.cpp
// Author: Evan Pezent (evanpezent.com)
// Date:   3/26/2021

#include "App.h"
#include "ImCoolbar.h"

struct imcoolBar: App {
    using App::App;
    void Update() override {
      	auto coolbar_button     = [](const char* label) -> bool {
		float w         = ImGui::GetCoolBarItemWidth();
		auto font_ptr   = ImGui::GetIO().Fonts->Fonts[0];
		font_ptr->Scale = ImGui::GetCoolBarItemScale();
		ImGui::PushFont(font_ptr);
		bool res = ImGui::Button(label, ImVec2(w, w));
		ImGui::PopFont();
		return res;
	};
		
	if (ImGui::BeginCoolBar("##CoolBarMain", ImCoolBarFlags_Horizontal, ImVec2(0.5f, 1.0f))) {
		if (ImGui::CoolBarItem()) {
			if (coolbar_button("A")) {
			
			}
		}
		if (ImGui::CoolBarItem()) {
			if (coolbar_button("B")) {
			
			}
		}
		if (ImGui::CoolBarItem()) {
			if (coolbar_button("C")) {
			
			}
		}
		if (ImGui::CoolBarItem()) {
			if (coolbar_button("D")) {
			
			}
		}
		if (ImGui::CoolBarItem()) {
			if (coolbar_button("E")) {
			
			}
		}
		if (ImGui::CoolBarItem()) {
			if (coolbar_button("F")) {
			
			}
		}
		if (ImGui::CoolBarItem()) {
			if (coolbar_button("G")) {
			
			}
		}
		if (ImGui::CoolBarItem()) {
			if (coolbar_button("H")) {
			
			}
		}
		if (ImGui::CoolBarItem()) {
			if (coolbar_button("I")) {
			
			}
		}
		if (ImGui::CoolBarItem()) {
			if (coolbar_button("J")) {
			
			}
		}
		if (ImGui::CoolBarItem()) {
			if (coolbar_button("K")) {
			
			}
		}
		if (ImGui::CoolBarItem()) {
			if (coolbar_button("L")) {
			
			}
		}
		if (ImGui::CoolBarItem()) {
			if (coolbar_button("M")) {
			
			}
		}
		ImGui::EndCoolBar();
	}
    }
};

int main(int argc, char const *argv[])
{
    imcoolBar app("ImCoolBar演示",1920,1080,argc,argv);
    app.Run();

    return 0;
}
